package collection.map;

import java.util.Hashtable;
import java.util.Iterator;
import java.util.Map;

/**
 * @author weim
 * @date 18-8-27
 *
 * 底层  数组+链表
 *
 * 线程安全  方法级别上的synchronized
 *
 *
 *
 */
public class MyHashtable {

    public static void main(String[] args) {
        //默认大小 11 扩容因子11×0.75f  可以指定
        Hashtable map = new Hashtable(20);
        map.put("a","avalue");
        map.put("b","bvalue");
        map.put("d","dvalue");
        map.put("c","cvalue");
        //不允许key或者value为null
//        map.put(null,null);
        System.out.println(map.toString());

        Iterator<Map.Entry<String, String>> iterator = map.entrySet().iterator();
        while(iterator.hasNext()) {
            System.out.println(iterator.next());
            //快速失败  在iterator遍历的时候，更改map结构，会抛出ConcurrentModificationException异常
//            map.put("e","evalue");
        }

    }

}
